Noise attenuation can be achieved by using either active or passive attenuation techniques. Although conventional passive sound absorption techniques can successfully attenuate high-frequency sound, they often are costly, cumbersome and very inefficient when used for low-frequency noise attenuation. For example, passive noise reduction methods used for vehicle and aircraft cabins primarily involve a shielding treatment, typically absorptive and damping materials applied to the body structure. These materials are often bulky, introducing extra weight and tending to decrease fuel efficiency.
In contrast, active sound control provides a more efficient and lightweight alternative to such low-frequency noise reduction applications. The basic concept in active noise canceling is the superposition of one or more secondary sound fields onto the primary noise field which is to be attenuated. The secondary noise field is, ideally, exactly the same amplitude as the primary noise but 180.degree. out of phase.
Early active noise reduction systems relied largely on continuous-time methods and analog hardware. With the advances in technology and the development of efficient and highly sophisticated discrete-time algorithms, digital active noise cancellation has become feasible.
A modern active noise cancellation system usually comprises:
1) Sensing devices, most frequently microphones for sound or accelerometers for vibration, used to detect the primary noise to be attenuated (input or detection sensors) and to monitor the cancellation performance (error sensors); PA1 2) Actuators, most commonly audio speakers, used to produce the secondary noise field; PA1 3) Electronic devices including analog to digital (A/D) converters, digital to analog (D/A) converters, anti-aliasing filters, power amplifiers, parallel to serial (P/S) and serial to parallel (S/P) converters, sample and hold circuits and the like; and PA1 4) A signal processor, including both hardware for fast real-time computation, and software which implements the method to control the actuator output based upon predetermined performance criteria. PA1 1) The acoustic paths (delays) between the anti-noise sources and the sensors; PA1 2) The transfer functions of the electro-acoustic devices; PA1 3) The acoustical cross-coupling interference between channels (in multichannel applications); PA1 4) The acoustic feedback from the anti-noise sources to the input sensor; PA1 5) Acoustic laws which govern the active noise propagation mechanism; and PA1 6) Potential time-varying sources.
Referring to FIG. 1A, a single-channel active noise control system 100 includes an input sensor 102 and an error sensor 104 (e.g. microphones), an actuator speaker 106, and an active noise controller (signal processor) 108. As noted, active noise attenuation relies on generating secondary noise field ("anti-noise") which will cancel the noise produced by an external source 110.
In order to create anti-noise, input sensor 102 monitors noise source 110 and error sensor 104 monitors any residual noise at the position where the noise reduction is desired. Signal processing device 108 uses the measurements from input sensor 102 and error sensor 104 and establishes an anti-noise signal that drives speaker 106. Speaker 106 responsively generates the anti-noise, identical in amplitude and frequency, but 180.degree. out of phase with the primary noise to be canceled.
However, the noise measured at sensors 102, 104 and at speaker 106, even with speaker 106 turned off, will be different. This difference is primarily due to acoustic paths between the sensors 102, 104 and speaker 106 and characteristics of the hardware elements. The acoustic paths are generally modeled by transfer functions. Since the acoustical path may vary with time, an adaptive system identification (characterization) scheme is also desirable. Furthermore, since the sensors, the actuator, and the electronic circuitry are not ideal, electrical transfer functions for the hardware employed must also be taken into account during adaptation. Thus, the complete transfer function is electro-acoustic in nature.
Accordingly, it is desirable that signal processor 108 generates a drive signal to anti-noise source 106, by operating upon the residual error signal from sensor 104, in accordance with a transfer function reflecting the actual overall electro-acoustic transfer function of the system.
The term "adaptive filter" refers to a time-varying digital filter having coefficients which are adjusted according to predetermined criteria, such as, for example, minimizing a cost function. A "cost function" is a function dependent upon the underlying noise distribution. Adaptive filters are often used to improve the performance of input/output systems by filtering out the noise without distorting the signal. The coefficients of the adaptive filter can be adjusted using stochastic gradient or recursive least square or appropriate adaptive algorithms in the signal processor. For example, the least mean square (LMS) algorithm is a stochastic gradient algorithm which uses the mean square error as a cost function. The adaptive algorithms require little or no prior knowledge of the input signal and thus are suitable for time-varying systems.
Adaptive filters have found applications in a variety of fields. For example, adaptive filters have been used in speech coding, spectral estimation, adaptive control, and in digital filter design. In addition, the concept of adaptive filters has been utilized in echo cancellation, noise reduction in electro-cardiography and speech, and antenna sidelobe cancellation. Although, the concept of active noise attenuation is, in general, known, there is a growing interest in developing and/or tailoring robust adaptive filters for this application. This interest has been fueled both by the recent developments in the field of signal processing and also by the emergence of digital signal processors with real-time capabilities.
The fundamental signal processing problem associated with active noise control lies in the design of a system to control the output of the adaptive anti-noise filter. The adaptive algorithms required for active noise control tend to be more complex than those used in the classical noise echo cancellation applications. This difference can be attributed to the following:
As a result, adaptive filtering algorithms must be tailored specifically to the characteristics of the active noise control system.
Adaptive algorithms for active noise control usually involve two operational modes: system modeling, and system control. System modeling characterizes the electro-acoustic properties of the system. System control computes the anti-noise based on some prescribed criteria. The system modeling is usually done without the primary noise present. However, it can also be performed during the noise control operation to accommodate systems with time-varying characteristics.
Also, the input signal to the processor is conditioned prior to processing. Signal pre-conditioning is generally emphasized in active noise control applications to account for the transfer functions between the sensors and the actuators. The adaptive filter structure for this application is commonly referred to as the "filtered-X structure."
In typical applications, the algorithms must operate in real time, and require all the computations be completed within the sampling period. Rapid convergence is required in order to ensure short adaptive response to transient noises. Such transients are often due to the random nature of the noise source. An exemplary conventional system employs a processor 108 comprising an adaptive finite impulse response (FIR) filter where the number of taps is I implementing a well-known Least Means Square (LMS) algorithm. The term "tap" refers to the number of filter coefficients w.sub.k. The output of the filter y(k) is given by the convolution of the input signal x(k) and the sequence of filter coefficients w.sub.k for each of the samples, i.e., ##EQU1## Where k designates a particular time index and i is a particular tap. The input signal x(k) and the filter coefficients w.sub.k can be expressed in vector form as EQU X=[x(k)x(k-1) . . . x(k-I+1)].sup.T Eq. ( 2)
and EQU w.sub.k =[w.sub.k (0) w.sub.k (1) . . . w.sub.k (I-1)].sup.TEq. ( 3)
The output of the adaptive system is then written as EQU y(k)=x.sub.k.sup.T w.sub.k Eq. ( 4)
where the superscript .sup.T represents the transpose of the vector or the matrix and the underbar is used to denote vectors and matrices. The error between the desired output and the filter output is given by EQU e(k)=d(k)-y(k)=d(k)-x.sub.k.sup.T w.sub.k Eq. ( 5)
where d(k) is the desired signal of the system at the time index k.
The cost function (J) of the LMS algorithm is the mean squared error, i.e. EQU J='E{e(k).sup.2 }=E{[d(k)-y(k)].sup.2 }=E{[d(k)-x.sub.k.sup.T W.sub.k ].sup.T [d(k)-x.sub.k.sup.T w.sub.k ]} Eq. (6)
where E {.} denotes the expectation operator.
Taking the first derivative of the cost function with respect to the filter coefficient vector w.sub.k yields the gradient ##EQU2## The gradient determines the rate and direction of change of the cost function with respect to each individual filter coefficient. Coefficient vector w.sub.k is thereby updated to adapt filter 208 to changing conditions. Coefficient vector w.sub.k of the adaptive filter may be updated by the steepest descent algorithm, i.e., EQU w.sub.k+1 =w.sub.k -.mu..gradient..sub.k =w.sub.k +2 .mu.E}e(k)x.sub.k }Eq. (8)
Using the instantaneous estimate of the gradient, i.e. EQU .gradient..sub.k =-2e(k)x.sub.k Eq. ( 9)
The update equation may be expressed by EQU w.sub.k+1 =w.sub.k -.mu..gradient..sub.k =w.sub.k +2 .mu.e(k)x.sub.kEq. ( 10)
where .mu. is the convergence factor or step size which controls the convergence speed and the stability of the algorithm. The optimal (Wiener) solution, associated with the minimization of the cost function is therefore given by EQU w.sup.0 =r.sup.-1 p Eq. (11)
where r is the input autocorrelation matrix EQU r=E{x.sub.k x.sub.k.sup.T } Eq. (12)
and p is the crosscorrelation vector: EQU p=E{d(k)x.sub.k } Eq. (13)
The LMS algorithm converges in mean if the convergence factor .mu. is bounded by ##EQU3## where .lambda..sub.max is the maximum eigenvalue of the autocorrelation matrix. Hence, one of the inherent disadvantages of the LMS algorithm is that all the coefficients adapt with the speed of the slowest mode.
A version of the LMS algorithm has been developed for the use with a multichannel active noise control system. The term "multi-channel" refers to the use of more than one actuator and/or error sensor in an active noise control system.
To expand, the Multichannel LMS (MLMS) algorithm may be used in conjunction with a multichannel active nose cancellation system having M error sensors and N actuators associated therewith (M.gtoreq.N). Such a system is referred to as an MxN active noise control system.
Referring to FIG. 1B, n exemplary multi-channel active noise control system 120 includes an input sensor 122, respective error sensors 124 (e.g. microphones), respective actuator speakers 126, and an active noise controller (signal processor) 128. As noted, active noise attenuation relies on generating secondary noise field ("anti-noise") cancelling the noise produced by an external source 130.
In order to facilitate the generation of anti-noise, input sensor 122 monitors noise source 130, and error sensors 124 monitor any residual noise at the position where the noise reduction is desired. Signal processing device 128 uses the measurements from input sensor 122 and error sensors 124 and establishes an anti-noise signal that drives speakers 126. Speakers 126 responsively generate the anti-noise, suitably identical in amplitude and frequency, and 180.degree. out of phase with respect to the primary noise to be canceled.
As with the LMS system, the transfer function of the electro-acoustic path between sensor and actuator is modelled. However, for an M.times.N active noise control system, MN adaptive filters in processor 128 are required for such modelling. In addition, N adaptive filters from speakers 126 are used to control the actuator output to minimize the total mean squared errors.
In recent years, there has been considerable interest in block adaptive filtering algorithms. Block algorithms involve the use of block processing (i.e. concurrent processing of plural samples) instead of sequential processing of the monitoring data. Block processing refers to the use of blocks of data as opposed to individual data points. In the standard sequential implementation of LMS digital filters described above, a scalar output is computed from the convolution of the sequential input and the filter coefficients. In the block implementation of digital filters, on the other hand, a block of filter outputs are computed for each block of inputs.
Block processing presents a number of advantages. For example, the gradient can be estimated more accurately, and the algorithm can be implemented more efficiently in the frequency domain, and thus, individual discrete frequency components of the processed signals can be accessed and controlled directly. Specifically, the block implementation of digital filters has advantages over the sequential implementation of digital filters. For example, the fast Fourier transform (FFT) can be employed to implement a block filter in the frequency domain and hence reduce the number of computations per unit sample for high order implementation. The block filters are also more suitable for parallel processor implementations.
Block LMS (BLMS) algorithms have been developed in both the time and in the frequency domain. Although block adaptive filters were originally proposed for sequential processors, recently the emphasis has been on their implementation on parallel processors. By using a parallel processor, such as a systolic array processor (SAP) or a wavefront array processor (WAP), the throughput rate of a block adaptive filter could be improved considerably.
In contrast to the sequential LMS algorithm, which minimizes the individual sample mean square error, the Block LMS (BLMS) minimizes a mean square error estimated from a block of errors. In order to describe an actual sound control system utilizing the BLMS algorithm, the following variables are defined: j is the block index, L is the block length, and k, I are defined as in the sequential algorithm. Referring to FIG. 2, an active noise control system 200 employing a block adaptive FIR filter 201 may be schematically represented as: serial-to-parallel (S/P) circuitry 202 and 204; parallel-to-serial (P/S) circuitry 206; an adaptive FIR filter 208; respective sectioning circuitry 210 and 212; a summer 214 (e.g. error sensor); and a processor 216.
The input signal x(k) is applied to serial to parallel circuitry 202 which reorganizes input signal x(k) from a sequential input to a block input (e.g. accumulates a predetermined number of sequential data inputs). In practice, input signal x(k) is received from an input sensor 102 (e.g. microphone or accelerometer). In adaptive FIR filter 208, the now block format input signal x(k) is convolved with block coefficient vector w(k) (described below). The resulting block output vector is reconverted to a sequential organization by parallel to serial circuitry 206. The resulting sequential output signal is subject to a sectioning procedure 210 which organizes the data for use by an actuator 106 (not shown) for broadcast. The resultant output y.sub.j (e) is applied to summer 214. In practice, the output y.sub.j (e) corresponds to the cancelling anti-noise generated by an actuator (speaker 106).
Desired signal d(k) is subject to sectioning procedure 212 which also organizes the data for proper application before being applied to summer 214. In practice, summer 214 is error sensor 104 (microphone) that sums desired signal d.sub.j (l) and output signal y.sub.j (l) acoustically.
Summer 214 directs error signal e.sub.j (l) to a serial to parallel circuitry 204 for computation in processor 216. Processor 216 compares e.sub.j (l) to desired signal d(k) to adjust the block coefficient vector w(k) to minimize the error signal e.sub.j (l).
It should be understood that processor 216 and adaptive FIR filter 208 in practice correspond to active noise controller 108 of FIG. 1A. It should also be understood that while many of the components are shown as separate components, in practice the components could physically be the same element. For example, serial to parallel circuitry 202 could instead be implemented in software as part of active noise controller 108.
The sequences x(k) and d(k) correspond to the input and desired signals, respectively, at the k.sup.-th time index and d.sub.j (l) and y.sub.j (l) are the 1.sup.-th entries of the block desired signal and output vectors at the j.sup.-th block (1=1, 2, . . . , L), respectively.
A mathematical description of FIG. 2 will now be presented. The block output y.sub.j after sectioning procedure 210 may be organized as follows. EQU y.sub.j =[y(jL) y(jL+1) . . . y(jL+L-1)].sup.T Eq. ( 15)
where each entry of the output vector is obtained from Equation 4. The block coefficient vector w.sub.j and the block input x(k) matrix as ##EQU4## The block output of the FIR filter 208 can then be represented by EQU y.sub.j =x.sub.j w.sub.j Eq. ( 18)
The block desired signal d.sub.j (l) vector is defined as EQU d.sub.j =[d(jL) d(jL+1) . . . d(jL+L-1)].sup.T Eq. ( 19)
and the error signal e.sub.j (l) from the summer 214 can be written as EQU e.sub.j =d.sub.j -y.sub.j =d.sub.j -x.sub.j w.sub.j Eq. ( 20)
The block mean squared error (BMSE) is used as a cost function in the processor 210, i.e., ##EQU5## The gradient of the cost function with respect to the filter coefficients vector w.sub.j is given by ##EQU6## The BLMS algorithm in processor 216 is updated by ##EQU7## where .gradient..sub.j is the estimate of the block gradient. It can be shown that the BLMS algorithm of processor 216 converges in the mean to the optimal (Wiener) solution if the convergence factor is bounded by ##EQU8## where .lambda..sub.max is the maximum eigenvalue of the input autocorrelation matrix.
As noted previously, an improvement to the BLMS algorithm involves the use of a Filtered-X structure to account for the electro-acoustic transfer function between the sensors and actuators. Referring to FIG. 3, such an exemplary active noise control system 300, may be schematically represented as respective serial to parallel converters 302, 304 and 306, parallel to serial converter 308, a processor 310 including a block FIR filter 312 and a BLMS algorithm 314, and a summer 316 (e.g. acoustic summation with microphones). The secondary path H.sup.s is modeled first in the absence of the primary noise x(k). The block finite impulse response (FIR) filter is then adapted using the X-BLMS algorithm.
In the X-BLMS algorithms, the error signal e(k), the desired signal d(k), and the coefficient vectors W are defined as: EQU e.sub.j =[e(js) e(js+1) . . . e(js+L-1)].sup.T Eq. ( 25) EQU d.sub.j =[d(js) d(js+1) . . . d(js+L-1)].sup.T Eq. ( 26)
and EQU w.sub.j =[w.sub.j (0) w.sub.j (1) . . . w.sub.j (I-1)].sup.TEq. ( 27)
where: the integer j is the block index; L is the block length; and s is the block shift, the number of new data samples in successive blocks of data (as will be explained, a measure of overlap; if s=L there is no overlap of data between successive data blocks).
The filtered reference matrix r(k) at the j.sup.-th block is given by ##EQU9## Each component of the matrix r.sub.j is filtered through H.sup.s, an estimate of the transfer function H.sup.s derived during system modelling and defined by ##EQU10## An error vector, e.sub.j, obtained from summer 316 dand representative of the differences between the desired signal d(k) and the output signal y(k), and is given by EQU e.sub.j =d.sub.j +r.sub.j w.sub.j Eq. ( 30)
The block mean squared error (BMSE), the cost function in X-BLMS algorithm processor 314 is expressed: ##EQU11## The gradient for the cost function J.sub.B, with respect to the coefficient vector w.sub.j may thus be expressed as: ##EQU12## and estimated in the X-BLMS algorithm implemented in processor 314 by: ##EQU13## The update equation for the X-BLMS algorithm 314 used to update the filter coefficients W in the block FIR filter 312 is given by ##EQU14##
The X-BLMS and BLMS algorithms are advantageous as compared to the conventional sequential LMS approach with respect to gradient noise. In both the X-BLMS and the BLMS the gradient is estimated from a block of data rather than a single sample. Hence, the gradient noise is less than the noise associated with the sequential LMS algorithm.
In addition, the X-BLMS algorithm can be updated (i.e. recompute filter coefficient) using varying extents of overlap between successive groups of data (e.g. a block-by-block or a sample-by-sample scheme).
The block shift s, in the formulation, specifies the updating scheme employed in the algorithm. The block shift s can be chosen to be between the integers 1 and L. When s=1, the X-BLMS is updated on a sample-by-sample basis with maximum overlapping. For s=L, algorithms are updated block-by-block in a disjoint manner. For any value of 1&lt;s&lt;L, a certain degree of block overlapping is involved.
Block overlapping implies reuse of data. For example, if s=1&lt;L, L-1 samples of old data are used as components of the next data block. Only one new data sample is used to form the new data block. Data reuse may improve the convergence speed at the expense of additional computations.
The length of the block and the manner of filter updates should be determined based on the statistical nature of the noise signal: for a stationary input signal, long data blocks without overlapping may be advantageously used; for a non-stationary signal short blocks and data overlapping tend to be advantageous.
An optimal solution of the X-BLMS can be obtained by EQU w.sup.0 =-r.sup.-1 p Eq. (35)
where r and p are the autocorrelation matrix and the crosscorrelation vector respectively, i.e., ##EQU15##
It can be shown that the adaptive filter coefficients W converge in the mean to the optimal solution if ##EQU16## where the .lambda..sub.max is the maximum eigenvalue of the autocorrelation matrix of the filtered reference signal.
The system identification scheme for the X-BLMS is different from the identification scheme for the LMS or the BLMS algorithm. The main difference lies in the fact that the adaptive FIR filter function 312 is cascaded with the transfer function H.sup.s.
The above discussion relates to time domain algorithms which analyze the data sequentially even though the data may be organized in a block format. However, it is often desirable to transform the input signal x(k) prior to processing into the frequency domain by way of either a fast Fourier transform (FFT) or a discrete Fourier transform (DFT). The use of a Fourier transform is often desirable as it allows the use of frequency-normalized convergence factors as well as separate control of the different frequency components in sound. This factor may result in faster convergence speed.
In addition, frequency domain algorithms become very efficient in high order filter implementations. Thus, while the initial extra processing step may slow computations, the difference may be overcome by the gain in efficiency in such applications.
However, it would be desirable to improve the convergence speed of the X-BLMS algorithm to allow faster reaction time to transient conditions. In addition, while the convergence factor .mu..sub.B is constrained it is not explicitly determined. In practice, the convergence factor .mu..sub.B is determined by trial and error. It would be desirable to explicitly determine the proper factor without resorting to trial and error. Further, any method which can achieve faster convergence would also be desirable.
Furthermore, while the sequential LMS technique has been extended to the multichannel situation, extension of block techniques has not been previously reported. Thus, extensions of the single channel techniques described above to the multichannel case would be very desirable.